/**   
 * @Title: ScfAssetSideInformation.java 
 * @Package com.betterjr.modules.loan.entity 
 * @Description: TODO(用一句话描述该文件做什么) 
 * @author xuzx
 * @date 2017年11月17日 下午1:44:14  
 */
package com.betterjr.modules.loan.entity;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

import com.betterjr.common.entity.BetterjrEntity;

import de.ruedigermoeller.serialization.annotations.Transient;

/** 
 * @ClassName: ScfAssetSideInformation 
 * @Description: 资金方工作台信息 
 * @author xuzx
 * @date 2017年11月17日 下午1:44:14 
 *  
 */
@Transient
public class ScfAssetSideInformation implements BetterjrEntity {
    /** 
     * @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么) 
     */
    private static final long serialVersionUID = 1L;
    /**
     * 资金方融资放款笔数
     */
    private int financingLoanCount;
    /**
     * 资金方融资放款金额
     */
    private BigDecimal financingLoanMoney;
    /**
     * 资金方融资询价笔数
     */
    private int financingInquiryCount;
    /**
     * 资金方融资询价笔数金额
     */
    private BigDecimal financingInquiryMoney;
    /**
     * 资金方授信合同笔数
     */
    private int creditContractCount;
    /**
     * 资金方授信合同金额
     */
    private BigDecimal creditContractMoney;
    /**
     * 资金方融资产品笔数
     */
    private int financingGoodsCount;
    /**
     *资金方融资产品金额
     */
    private BigDecimal financingGoodsMoney;
    /**
     * 资金方名称
     */
    private String custName;
    /**
     * 授信区域属性
     */
    private Map<String, Object> scfCreditMap = new HashMap<String, Object>();

    /**
     * 金额区域信息，pendingPayment：待回款，backPayment：已回款，overdue：已逾期，securedLoan：已放款
     */
    private Map<String, Object> securedLoanMap = new HashMap<String, Object>();

    public int getFinancingLoanCount() {
        return financingLoanCount;
    }

    public void setFinancingLoanCount(int anFinancingLoanCount) {
        financingLoanCount = anFinancingLoanCount;
    }

    public BigDecimal getFinancingLoanMoney() {
        return financingLoanMoney;
    }

    public void setFinancingLoanMoney(BigDecimal anFinancingLoanMoney) {
        financingLoanMoney = anFinancingLoanMoney;
    }

    public int getFinancingInquiryCount() {
        return financingInquiryCount;
    }

    public void setFinancingInquiryCount(int anFinancingInquiryCount) {
        financingInquiryCount = anFinancingInquiryCount;
    }

    public BigDecimal getFinancingInquiryMoney() {
        return financingInquiryMoney;
    }

    public void setFinancingInquiryMoney(BigDecimal anFinancingInquiryMoney) {
        financingInquiryMoney = anFinancingInquiryMoney;
    }

    public int getCreditContractCount() {
        return creditContractCount;
    }

    public void setCreditContractCount(int anCreditContractCount) {
        creditContractCount = anCreditContractCount;
    }

    public BigDecimal getCreditContractMoney() {
        return creditContractMoney;
    }

    public void setCreditContractMoney(BigDecimal anCreditContractMoney) {
        creditContractMoney = anCreditContractMoney;
    }

    public int getFinancingGoodsCount() {
        return financingGoodsCount;
    }

    public void setFinancingGoodsCount(int anFinancingGoodsCount) {
        financingGoodsCount = anFinancingGoodsCount;
    }

    public BigDecimal getFinancingGoodsMoney() {
        return financingGoodsMoney;
    }

    public void setFinancingGoodsMoney(BigDecimal anFinancingGoodsMoney) {
        financingGoodsMoney = anFinancingGoodsMoney;
    }

    public String getCustName() {
        return custName;
    }

    public void setCustName(String anCustName) {
        custName = anCustName;
    }

    public Map<String, Object> getScfCreditMap() {
        return scfCreditMap;
    }

    public void setScfCreditMap(Map<String, Object> anScfCreditMap) {
        scfCreditMap = anScfCreditMap;
    }

    public Map<String, Object> getSecuredLoanMap() {
        return securedLoanMap;
    }

    public void setSecuredLoanMap(Map<String, Object> anSecuredLoanMap) {
        securedLoanMap = anSecuredLoanMap;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + creditContractCount;
        result = prime * result + (creditContractMoney == null ? 0 : creditContractMoney.hashCode());
        result = prime * result + (custName == null ? 0 : custName.hashCode());
        result = prime * result + financingGoodsCount;
        result = prime * result + (financingGoodsMoney == null ? 0 : financingGoodsMoney.hashCode());
        result = prime * result + financingInquiryCount;
        result = prime * result + (financingInquiryMoney == null ? 0 : financingInquiryMoney.hashCode());
        result = prime * result + financingLoanCount;
        result = prime * result + (financingLoanMoney == null ? 0 : financingLoanMoney.hashCode());
        result = prime * result + (scfCreditMap == null ? 0 : scfCreditMap.hashCode());
        result = prime * result + (securedLoanMap == null ? 0 : securedLoanMap.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (!(obj instanceof ScfAssetSideInformation)) {
            return false;
        }
        ScfAssetSideInformation other = (ScfAssetSideInformation) obj;
        if (creditContractCount != other.creditContractCount) {
            return false;
        }
        if (creditContractMoney == null) {
            if (other.creditContractMoney != null) {
                return false;
            }
        } else if (!creditContractMoney.equals(other.creditContractMoney)) {
            return false;
        }
        if (custName == null) {
            if (other.custName != null) {
                return false;
            }
        } else if (!custName.equals(other.custName)) {
            return false;
        }
        if (financingGoodsCount != other.financingGoodsCount) {
            return false;
        }
        if (financingGoodsMoney == null) {
            if (other.financingGoodsMoney != null) {
                return false;
            }
        } else if (!financingGoodsMoney.equals(other.financingGoodsMoney)) {
            return false;
        }
        if (financingInquiryCount != other.financingInquiryCount) {
            return false;
        }
        if (financingInquiryMoney == null) {
            if (other.financingInquiryMoney != null) {
                return false;
            }
        } else if (!financingInquiryMoney.equals(other.financingInquiryMoney)) {
            return false;
        }
        if (financingLoanCount != other.financingLoanCount) {
            return false;
        }
        if (financingLoanMoney == null) {
            if (other.financingLoanMoney != null) {
                return false;
            }
        } else if (!financingLoanMoney.equals(other.financingLoanMoney)) {
            return false;
        }
        if (scfCreditMap == null) {
            if (other.scfCreditMap != null) {
                return false;
            }
        } else if (!scfCreditMap.equals(other.scfCreditMap)) {
            return false;
        }
        if (securedLoanMap == null) {
            if (other.securedLoanMap != null) {
                return false;
            }
        } else if (!securedLoanMap.equals(other.securedLoanMap)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ScfAssetSideInformation [financingLoanCount=" + financingLoanCount + ", financingLoanMoney="
                + financingLoanMoney + ", financingInquiryCount=" + financingInquiryCount + ", financingInquiryMoney="
                + financingInquiryMoney + ", creditContractCount=" + creditContractCount + ", creditContractMoney="
                + creditContractMoney + ", financingGoodsCount=" + financingGoodsCount + ", financingGoodsMoney="
                + financingGoodsMoney + ", custName=" + custName + ", scfCreditMap=" + scfCreditMap
                + ", securedLoanMap=" + securedLoanMap + "]";
    }

}